home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’97 / Warrior’s Progress / source code / Source / Libraries / Trees / RedBlackKey.cp < prev    next >
Encoding:
Text File  |  1997-06-28  |  657 b   |  35 lines  |  [TEXT/CWIE]

  1. // RedBlackKey.cp
  2.  
  3. #ifndef RedBlackKey_h
  4. #include "RedBlackKey.h"
  5. #endif
  6. #ifndef RedBlackKeyTree_h
  7. #include "RedBlackKeyTree.h"
  8. #endif
  9.  
  10. template < class Key >
  11. RedBlackKeyTree<Key>& RedBlackKey<Key>::DownCast( TreeBase& t )
  12.   {
  13.     return static_cast< TreeType& >( t );
  14.   }
  15.  
  16. template < class Key >
  17. const RedBlackKeyTree<Key>& RedBlackKey<Key>::DownCast( const TreeBase& t )
  18.   {
  19.     return static_cast< const TreeType& >( t );
  20.   }
  21.  
  22. template < class KeyType >
  23. void RedBlackKey<KeyType>::SetKey( const KeyType& k )
  24.   {
  25.     if ( Owned() && key != k )
  26.       {
  27.         TreeType& owner( Owner() );
  28.         owner.Remove( *this );
  29.         key = k;
  30.         owner.Add( *this );
  31.       }
  32.      else
  33.         key = k;
  34.   }
  35.